package com.spsoft.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 老系统销项发票主信息
 * </p>
 *
 * @author chenxudong
 * @since 2023-12-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("NVAT_OUTINVOICEDETAILS")
public class NvatOutInvoiceDetails implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "OIDID", type = IdType.INPUT)
    private Long oidid;

    /**
     * 税控服务器编号
     */
    private String skfwqbh;

    /**
     * 开票终端编码
     */
    private String kpwdbm;

    /**
     * 发票类型代码：004增值税专票，007增值税普票
     */
    private String fplxdm;

    /**
     * 开票类型：0正数票开具，1负数票开具
     */
    private String sffsfp;

    /**
     * 发票请求流水号：由主键生成，不足左侧以0补足
     */
    private String fpqqlsh;

    /**
     * 特殊票种标识：“00”不是，“01”农产品销售，“02”农产品收购
     */
    private String tspz;

    /**
     * 清单标志 ：0无清单，1带清单
     */
    private int sfqdkp;

    /**
     * 发票代码
     */
    private String fpdm;

    /**
     * 发票号码
     */
    private String fphm;

    /**
     * 开票日期
     */
    private Date kprq;

    /**
     * 开票属期：开票日期的年月
     */
    private String kpsq;

    /**
     * 受票方名称
     */
    private String spfmc;

    /**
     * 受票方识别号
     */
    private String spfsbh;

    /**
     * 受票方银行账号
     */
    private String spfyhzh;

    /**
     * 受票方地址电话
     */
    private String spfdzdh;

    /**
     * 发货人名称
     */
    private String fhrmc;

    /**
     * 发货人识别号
     */
    private String fhrsbh;

    /**
     * 收货人名称
     */
    private String shrmc;

    /**
     * 收货人识别号
     */
    private String shrsbh;

    /**
     * 税控码
     */
    private String skm;

    /**
     * 校验码
     */
    private String jym;

    /**
     * 二维码
     */
    private String ewm;

    /**
     * 合计金额
     */
    private BigDecimal hjje;

    /**
     * 合计税额
     */
    private BigDecimal hjse;

    /**
     * 价税合计
     */
    private BigDecimal jshj;

    /**
     * 开票备注
     */
    private String kpbz;

    /**
     * 开票单位
     */
    private String sbdwid;

    /**
     * 开票单位名称
     */
    private String kpdw;

    /**
     * 开票单位纳税人识别号
     */
    private String kpnsrsbh;

    /**
     * 开票单位地址、电话
     */
    private String kpddzdh;

    /**
     * 开票单位开户行及账号
     */
    private String kpkhhzh;

    /**
     * 收款人员名称
     */
    private String skry;

    /**
     * 复核人员名称
     */
    private String fhry;

    /**
     * 开票人员名称
     */
    private String kpry;

    /**
     * 信息表编号
     */
    private String xxbbm;

    /**
     * 原发票代码
     */
    private String yfpdm;

    /**
     * 原发票号码
     */
    private String yfphm;

    /**
     * 开票状态：0 未开具（指的是未送到税控系统）；1送票失败；2 已开具；3 开失败； 4；已打印
     */
    private int kpzt;

    /**
     * 开票失败原因
     */
    private String kpsbyy;

    /**
     * 交易机构
     */
    private String qydjid;

    /**
     * 发票媒介：1纸质票，2电子票
     */
    private String fpmj;

    /**
     * 发票种类：来源业务字典表 (暂时不用)
     */
    private String fpzl;

    /**
     * 作废冲红日期
     */
    private Date zfchrq;

    /**
     * 作废冲红原因
     */
    private String zfchyy;

    /**
     * 是否收齐联次 ：0否，1是，默认为0，当发票状态为2或3时，可选
     */
    private int sfsqlc;

    /**
     * 未抄报税：0否，1是
     */
    private int wcbs;

    /**
     * 购方未抵扣或认证未通过：0否，1是
     */
    private int gfwdk;

    /**
     * 发票状态 ：1正常，2作废，3冲红
     */
    private int fpzt;

    /**
     * 核准标识：0未核准，1已核准
     */
    private int sfyhz;

    /**
     * 导入人员
     */
    private String dlry;

    /**
     * 数据来源：0 交易数据开票； 1 手工申请 ; 2 官网开票;  3 途牛开票
     */
    private int sjly;

    /**
     * 扩展字段1
     */
    private String expcol1;

    /**
     * 匹配时间 yyyyMMdd
     */
    private String expcol2;

    /**
     * 是否不动产 0正常 1不动产
     */
    private String expcol3;

    /**
     * 扩展字段4
     */
    private String expcol4;

    /**
     * 受票方编号，对应客户编号
     */
    private String spfbh;

    /**
     * 匹配状态：0未完全匹配，1已完全匹配，-1无需匹配，且只针对手工开票数据
     */
    private String ppzt;

    /**
     * 征税方式（0：普通征税，2：差额征税）
     */
    private int zsfs;

    /**
     * 差额征税扣除额
     */
    private BigDecimal kce;

    /**
     * 业务类型编码
     */
    private String ywlxbm;

    /**
     * 交易客户Email
     */
    private String khemail;

    /**
     * 交易客户手机号
     */
    private String khsjh;

    /**
     * 证件号码
     */
    private String zjhm;

    /**
     * 证件类型
     */
    private String zjlx;

    /**
     * 业务单号类型：1投保单号,2汇交单号,3学平险受理号
     */
    private String ywdhlx;

    /**
     * 业务单号
     */
    private String ywdh;

}
